package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

@Remote
@Local
public interface TransferInOutStockApprovalDao {
	
	/**
	 * 根据主键查询调拨单申请
	 * @param TransferApprovalId
	 * @return
	 */
	public TransferInOutStockApproval getTransferInOutStockApprovalByTransferApprovalId(BigInteger TransferApprovalId);
	
	/**
	 * 调拨单申请添加
	 * @param vo
	 * @throws PCPSApplicationException
	 */
	public void insertTransferInOutStockApproval(TransferInOutStockApproval vo)
			throws PCPSApplicationException;
	
	/**
	 * 调拨单申请修改
	 * @param vo
	 * @throws PCPSApplicationException
	 */
	public void updateTransferInOutStockApproval(TransferInOutStockApproval vo)
			throws PCPSApplicationException;
	
	
	/**
	 * 调拨单申请删除
	 * @param vo
	 * @throws PCPSApplicationException
	 */
	public void deleteTransferInOutStockApproval(TransferInOutStockApproval vo)
			throws PCPSApplicationException;
	
	
	/**
	 * 调拨单申请单分页查询列表
	 * @param webInput
	 * @param approvalBranchNo
	 * @param cardFaceId
	 * @param status
	 * @param startTime
	 * @param endTime
	 * @param page
	 * @return
	 */
	public List<TransferInOutStockApproval> getTransferInOutStockApprovalList(PCPSWebInput webInput,
			String approvalBranchNo,String branchNo,BigInteger cardFaceId,String status,String startTime, String endTime, Integer page);
	
	/**
	 * 调拨单申请单总数查询
	 * @param webInput
	 * @param approvalBranchNo
	 * @param cardFaceId
	 * @param status
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	public Integer getTransferInOutStockApprovalCount(PCPSWebInput webInput,
			String approvalBranchNo,String branchNo,BigInteger cardFaceId,String status,String startTime, String endTime);
}
